The invention relates to a method and apparatus for device control. In particular, the invention relates to a method for control of one device through another device with which a user can interact, and to apparatus with which the method can be employed.
It is common for a user to use one device with convenient interaction features to control another device with less convenient interaction features. For example, a remote control unit is frequently used for control of a television. The remote control unit is convenient for the user to use: it is portable, while the user interface attached to the television itself is less convenient to use (as it is fixed at the television). Computers are similarly often used to control other equipment, as the user interface of a computer is well understood by the user and in many cases interaction between the equipment and the computer is required anyway (for example, if data is to be passed to or received from the equipment).
A variety of approaches are provided for control of equipment by computers in the different programming options for different computer operating systems. In Microsoft Windows, for example, devices must either conform to a pre-defined generic model (for which an API is provided) under which a set of control commands deemed appropriate to the device class must be understood, or else must be supplied with a device-specific control program, or driver, which must be loaded into the computer before control can take place. In the API case, for example, a TV API might have function calls to turn the TV on or off, change the channel to a specific set of values and set the volume, all televisions being able to offer those and only those controls through the API. In either case, if Microsoft Windows is to be used for control of, say, a fax machine by a personal computer, it is necessary for the functionality of the fax machine to be xe2x80x9cknownxe2x80x9d by the personal computer. User events are sensed by the personal computer and then interpreted in the context of the controls required by the fax machine.
Another example is provided by X-Windows, which is a GUI built (typically) on Unix and can be used for control of other devices. X-Windows recognises a variety of input devices, such as mouse and keyboard. It is adapted to provide applications with events which describe what is happening to those input devices (e.g. right mouse button pressed at co-ordinate 345,678). The application then decides how to interpret this action (e.g. turn TV on). The control program therefore involves both the functionality of the controlled device and user interface features of the controlling device.
Although such control approaches can be very powerful, they are not flexible. Either a discrete control program must be devised for every device combination (or at any rate for any controlled device for a class of controlling devicexe2x80x94such as a personal computer running a version of the Windows operating system) or the device""s functionality must conform to a predetermined generic model of the device""s type. It is therefore desirable to achieve more flexible control methods, in which fully featured control could be achieved without extensive re-work in devising control programs for new devices and maintaining the highest level effectiveness achievable with a given device combination.
The present inventors realised that these goals could be reached through removing the need for the controlling device to have specific knowledge of the controlled device.
Accordingly, the invention provides in a first aspect a method for the control of a controlled device by means of a controlling device, comprising; establishment of a means for transmitting signals between the controlling device and the controlled device; provision by the controlled device of a set of possible parameter choices and information identifying said possible parameter choices and transmission thereof to the controlling device; display at the controlling device of the set of possible parameter choices and of information identifying possible parameter choices to enable user selection of a set of actual parameter choices with a user selection means; transmission of the set of actual parameter choices to the controlled device; and modification of operational parameters of the controlled device in accordance with the set of actual parameter choices; wherein the set of possible parameter choices and set of actual parameter choices are provided in a form independent of the user selection means.
Where the controlled device provides to the controlling device only a set of choices and information relating to those choices, that leaves the controlling device free to display the set of choices and the information relating to them in any way that it chooses, or that is convenient for it. This means that the same approach can be used for interaction between essentially any controlling device and the controlled device. If the controlling device has only limited user interaction capabilities, a very limited user interface for the controlled device can be constructed. However, if the controlling device has rich possibilities for user interaction, these can be exploited to create a rich user interface for the controlled device at the controlling device.
This arrangement divides responsibility for the process of control and device operation ideally between the controlled device and the controlling device. The functionality of the controlled device, and how that functionality may be changed, only needs to be understood by the controlled device instead. The controlling device needs to understand nothing of the functionality of the controlled device, but is instead left to determine how it should display the available parameter choices: this allows the display options to be matched to the capabilities of the controlling device.
In a second aspect the invention provides an information handling device adapted for the function of a controlling device in the method indicated above, the information handling device comprising: means for communication of information with a controlled device; user interface means for displaying information to a user and for returning values derived from a user input; and means for presenting the set of possible parameter choices and associated information received from the controlled device through the user interface means, and for returning the set of actual parameter choices from the user interface means to the controlled device.
In a third aspect, the invention provides a control script to enable provision by a controlled device of a set of possible parameter choices and information identifying said possible parameter choices and transmission thereof to a controlling device, comprising for each parameter the possible parameter choices, a type for that parameter, and user interpretable parameter information.